const db = wx.cloud.database()
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 上传的案例图片集合
    uploadImages: [],
    // 设置上传案例图片的最大数目
    maxImages: 9,
    cloudImages: [],
    // 案例图片数目是否达到了最大数目
    isMaxImagesNum: false,
    manager:{
      organize:'',
      name:'',
      num:'',
      phone:'',
      email:'',
      mark:'',
      image:[],
    }

  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
    // 选择图片
    chooseImageTap: function () {
      let _this = this;
      wx.showActionSheet({
        itemList: ['从相册中选择', '拍照'],
        itemColor: "#f7982a",
        success: function (res) {
          if (!res.cancel) {
            if (res.tapIndex == 0) {
              _this.chooseWxImage('album')
            } else if (res.tapIndex == 1) {
              _this.chooseWxImage('camera')
            }
          }
        }
      })
    },
  
    // 选图
    chooseWxImage: function (type) {
      let _this = this;
      var picsItems;
      wx.chooseImage({
        // 相关属性设置
        count: _this.data.maxImages,
        sizeType: ['original', 'compressed'],
        sourceType: [type],
        success: function (res) {
          var imgsrc = res.tempFilePaths;
          // concat数组连接，且不会改变现有数组
          var picss = _this.data.uploadImages.concat(imgsrc);
          var imagesArr = '';
          if (picss.length >= _this.data.maxImages) {
            _this.setData({
              isMaxImagesNum: true
            });
          }
          // 判断选择的数量是否超过设定数量
          let num = picss.length <= _this.data.maxImages ? picss.length : _this.data.maxImages;
          for (var i = 0; i < num; i++) {
            imagesArr += '{"imgurl":"' + picss[i] + '"},';
          }
          imagesArr = JSON.parse('[' + imagesArr.substring(0, imagesArr.length - 1) + ']');
          _this.setData({
            uploadImages: picss,
            picsItems: imagesArr
          });
        },
        
      })
      
    },
  
    // 预览所选图片
    selImagePre: function (e) {
      let _this = this;
      var current = e.currentTarget.dataset.src
      wx.previewImage({
        urls: this.data.uploadImages,
        current
      })
      console.log(this.data.urls)
    },

    handleConfirm:function (){
      wx.showToast({
        title: '提交成功',
      });
      setTimeout(this.fudaiTiaozhuan, 500)
    },
    fudaiTiaozhuan:function(){
      wx.switchTab({
        delay: 5000,
        url: '../index/index',
      })
    },

    addgroud:function(e)
    {
        this.data.manager.organize=e.detail.value
    },
    addname:function(e)
    {
        
      this.data.manager.name=e.detail.value
    },
    addnum:function(e)
    {
       
      this.data.manager.num=e.detail.value
    },
    addphone:function(e)
    {
        
      this.data.manager.phone=e.detail.value
    },
    addmail:function(e)
    {
        
      this.data.manager.email=e.detail.value
    },
    addmark:function(e)
    {
        
      this.data.manager.mark=e.detail.value
    },
    upload: function () {

      console.log(this.data.uploadImages)
      if (!this.data.uploadImages.length) {
        wx.showToast({
          icon: 'none',
          title: '图片类容为空'
        });
        
      } else {
        //上传图片到云存储
        wx.showLoading({
          title: '上传中',
        })
        let promiseArr = [];
        for (let i = 0; i < this.data.uploadImages.length; i++) {
          promiseArr.push(new Promise((reslove, reject) => {
            let item = this.data.uploadImages[i];
            let suffix = /\.\w+$/.exec(item)[0];//正则表达式返回文件的扩展名
            let cloudPath = "manager/" + app.globalData.openid + Date.now() + suffix;
            wx.cloud.uploadFile({
              cloudPath, // 上传至云端的路径
              filePath: item, // 小程序临时文件路径
              success: res => {
                this.setData({
                 cloudImages: this.data.cloudImages.concat(res.fileID)
                });
                console.log(res.fileID)//输出上传后图片的返回地址
                reslove();
                wx.hideLoading();
                wx.showToast({
                  title: "上传成功",
                })
              },
              fail: res => {
                wx.hideLoading();
                wx.showToast({
                  title: "上传失败",
                })
              }
  
            })
          }));
        }
        Promise.all(promiseArr).then(res => {//等数组都做完后做then方法
          console.log("图片上传完成后再执行")
          this.data.manager.image = this.data.cloudImages
          this.submit()
        })
        
      }
    },
    submit:function()
    {
      db.collection("manager").add({
        data:{
          manager:this.data.manager
        },
        success: function (res) {
          // res 是一个对象，其中有 _id 字段标记刚创建的记录的 id
          console.log(res);
          wx.switchTab({
            url: '../index/index',
          })
        }
      })
    }
})